package com.ktjiaoyu.crm.service;

import com.ktjiaoyu.crm.entity.Chance;
import com.ktjiaoyu.crm.entity.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface IChanceService {
    /**
     * 保存机会
     *
     * @param chance 机会
     */
    public void save(Chance chance);

    /**
     * 删除机会
     *
     * @param chcId ID
     */
    public void delete(Long chcId);

    /**
     * 查询机会
     *
     * @param chcId ID
     * @return chance
     */
    public Chance getChance(Long chcId);

    /**
     * 查询所有销售机会
     * @param chcCustName 客户名
     * @param chcTitle 概要
     * @param chcLinkman 联系人
     * @param chcStatus 状态
     * @param chcCreateId 创建人ID
     * @param chcDueId 指派人ID
     * @param pageable 分页条件
     * @return 集合
     */
    public Page<Chance> findAllChance(String chcCustName, String chcTitle,
                                      String chcLinkman, String chcStatus,
                                      Long chcCreateId, Long chcDueId, Pageable pageable);

    /**
     * 修改销售机会
     *
     * @param chance 机会
     */
    public void edit(Chance chance);

    /**
     * 修改状态
     * @param chcStatus 机会状态
     * @param chcId 机会Id
     */
    public void updateChcStatusByChcId(String chcStatus, Long chcId);

    /**
     * 查找同一角色的用户
     * @param roleId 角色ID
     * @return list
     */
    public List<User> findUsersByRoleId(Long roleId);

    Page<Chance> findAllChance(String chcCustName, String chcTitle, Pageable pageable);
}
